<?php

/**
 * 生成随机字符串
 * @param string $lenth 长度
 * @return string 字符串
 */
function create_randomstr($lenth = 6)
{
    return random($lenth, '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ');
}

/**
 *
 * @param $password 密码
 * @param $random 随机数
 */
function create_password($password = '', $random = '')
{
    if (empty($random)) {
        $array['random'] = create_randomstr();
        $array['password'] = md5(md5($password) . $array['random']);
        return $array;
    }
    return md5(md5($password) . $random);
}

/**
 * 检查密码长度是否符合规定
 *
 * @param STRING $password
 * @return TRUE or FALSE
 */
function is_password($password)
{
    $strlen = strlen($password);
    if ($strlen >= 6 && $strlen <= 20)
        return true;
    return false;
}

/**
 * 检测输入中是否含有错误字符
 *
 * @param char $string
 *            要检查的字符串名称
 * @return TRUE or FALSE
 */
function is_badword($string)
{
    $badwords = array(
        "\\",
        '&',
        ' ',
        "'",
        '"',
        '/',
        '*',
        ',',
        '<',
        '>',
        "\r",
        "\t",
        "\n",
        "#"
    );
    foreach ($badwords as $value) {
        if (strpos($string, $value) !== FALSE) {
            return TRUE;
        }
    }
    return FALSE;
}

/**
 * 检查用户名是否符合规定
 *
 * @param STRING $username
 *            要检查的用户名
 * @return TRUE or FALSE
 */
function is_username($username)
{
    $strlen = strlen($username);
    if (is_badword($username) || ! preg_match("/^[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+$/", $username)) {
        return false;
    } elseif (20 < $strlen || $strlen < 2) {
        return false;
    }
    return true;
}
?>